package br.com.dbii;

import java.io.Serializable;

import javax.persistence.Column;
import javax.persistence.Embeddable;
import javax.persistence.EmbeddedId;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;

@Entity
@Table
public class ClubeTorcida implements Serializable {
	private static final long serialVersionUID = 1L;
	
    @Embeddable
    private class ClubeTorcidaPK implements Serializable {
		private static final long serialVersionUID = 1L;
	
		@ManyToOne
		@JoinColumn(name="idClube", referencedColumnName="idClube")
		private Clube clube;
		
		@ManyToOne
		@JoinColumn(name="idTorcidaOrganizada", referencedColumnName="idTorcidaOrganizada")
		private TorcidaOrganizada torcidaOrganizada;
		
		public ClubeTorcidaPK(Clube clube, TorcidaOrganizada torcidaOrganizada) {
			this.clube = clube;
			this.torcidaOrganizada = torcidaOrganizada;
		}
		
		public Clube getClube() {
			return clube;
		}
		
		public void setClube(Clube clube) {
			this.clube = clube;
		}
		
		public TorcidaOrganizada getTorcidaOrganizada() {
			return torcidaOrganizada;
		}
		
		public void setTorcidaOrganizada(TorcidaOrganizada torcidaOrganizada) {
			this.torcidaOrganizada = torcidaOrganizada;
		}
    }
    
    @EmbeddedId
    private ClubeTorcidaPK clubeTorcidaPK;
    
    public ClubeTorcida(Clube clube, TorcidaOrganizada torcidaOrganizada) {
    	this.clubeTorcidaPK = new ClubeTorcidaPK(clube, torcidaOrganizada);
    }

	public ClubeTorcidaPK getClubeTorcidaPK() {
		return clubeTorcidaPK;
	}

	public void setClubeTorcidaPK(ClubeTorcidaPK clubeTorcidaPK) {
		this.clubeTorcidaPK = clubeTorcidaPK;
	}
}
